#ifndef THREAD_ACCEPTDATA_H
#define THREAD_ACCEPTDATA_H

#include <QObject>
#include <QThread>
#include <QDebug>
#include "qcustomplot.h"
#include <QWidget>
#include <QDebug>
#include <QSerialPortInfo>
#include <QSerialPort>
#include <QMessageBox>
class thread_AcceptData : public QThread
{
    Q_OBJECT
public:
    explicit thread_AcceptData(QObject *parent = nullptr);
    QSerialPort  serial ;

    void serialInit();//串口号初始化
    void onReadyRead();//读取数据

    void test();

    uint8_t checkCode = 0;//校验和
    uint8_t code = 0;//功能码
    QByteArray data;
    QByteArray bufferData;//readall的副本
    QList<QByteArray> buffer;
    int Count;//记录曲线点数
    int index; //校验和下标
    bool isRunning;//是否运行中
    QString * dataBuffer;
    int pulse_Count;//脉冲个数
    bool pulse_DirSwitch;//方向端子

    void serialConfig(QString portNames);
   // void  findPortClose();//串口错误
signals:
    void curNumber(int num);
    void updateStatus(bool staus);//如果onready能读到数据则证明串口在工作
    void updateSerialPort(QList<QSerialPortInfo> port);
    void handle(QList<QByteArray> num);//初始化按钮的数据
    void pulse_SysCfg( QList<QByteArray> buffer);//下位机发送的脉冲频率符号位和脉冲个数
    void jerkSlot();//收到下位机传送的触碰到硬极限端子信号
    void completePack(QByteArray pack);//发送完整数据帧


   // void  transferEmit();//发送信号
};

#endif // THREAD_ACCEPTDATA_H
